package pe.com.bbva.mtrgl.seguridad;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;

import com.grupobbva.bc.per.tele.ldap.comunes.IILDPeExcepcion;
import com.grupobbva.bc.per.tele.ldap.directorio.IILDPeUsuario;
import com.grupobbva.bc.per.tele.seguridad.ServiciosSeguridadBbva;

@ManagedBean(name = "sessionUsuario")
@SessionScoped
public class SessionUsuario {
	
	static Logger log = Logger.getLogger(SessionUsuario.class);
	String idUsuario=null;
	String nombreUsuario;
	String apellidoPaternoUsuario;
	String apellidoMaternoUsuario;
	String cargo;
	String nombreCompleto;
		
	@PostConstruct
	public void SessionUsuario() {
	   HttpServletRequest request;	                           
	   request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();	   
		
		try
	     {
			ServiciosSeguridadBbva objSeguridad = new ServiciosSeguridadBbva(request);
			objSeguridad.obtener_ID();
			this.idUsuario=objSeguridad.getUsuario().toUpperCase();	      
	     }
	     catch (Exception e)
	     {
	        log.error(e);
	     }
		
	     if(this.idUsuario == null || this.idUsuario.equals("")) {
	    	 this.idUsuario = request.getParameter("segusuId");                                                        
	     } 
	     
	    
	    IILDPeUsuario iildPeUsuario;
		try {
			iildPeUsuario = IILDPeUsuario.recuperarUsuario(this.idUsuario);
			if (iildPeUsuario != null) {		        	 	        	 
	        	 this.nombreUsuario=iildPeUsuario.getNombre();
	        	 this.apellidoPaternoUsuario=iildPeUsuario.getApellido1();
	        	 this.apellidoMaternoUsuario=iildPeUsuario.getApellido2();
	        	 this.cargo=iildPeUsuario.getCargo().getDescripcion();	
	        	 this.nombreCompleto=iildPeUsuario.getNombreCompleto();
	        }
		} catch (IILDPeExcepcion e) {
			 log.error(e);
		}	   
	     
	}

	public String getIdUsuario() {
		return idUsuario;
	}

	public void setIdUsuario(String idUsuario) {
		this.idUsuario = idUsuario;
	}

	public String getNombreUsuario() {
		return nombreUsuario;
	}

	public void setNombreUsuario(String nombreUsuario) {
		this.nombreUsuario = nombreUsuario;
	}

	public String getApellidoPaternoUsuario() {
		return apellidoPaternoUsuario;
	}

	public void setApellidoPaternoUsuario(String apellidoPaternoUsuario) {
		this.apellidoPaternoUsuario = apellidoPaternoUsuario;
	}

	public String getApellidoMaternoUsuario() {
		return apellidoMaternoUsuario;
	}

	public void setApellidoMaternoUsuario(String apellidoMaternoUsuario) {
		this.apellidoMaternoUsuario = apellidoMaternoUsuario;
	}

	public String getCargo() {
		return cargo;
	}

	public void setCargo(String cargo) {
		this.cargo = cargo;
	}

	public String getNombreCompleto() {
		return nombreCompleto;
	}

	public void setNombreCompleto(String nombreCompleto) {
		this.nombreCompleto = nombreCompleto;
	}
	
	
}
